Perl Language(V) File Handler
10. Handler with the File
10.2 Sign of the IO
STDIN
standard input
my $input = <STDIN>;
print $input;
STDOUT
standard output
my $output = "Standard Output";
print "$output\n";
print STDOUT "$output\n";
STDERR
my $output = "error message";
print STDERR "$output\n";
ARGV
#!/usr/bin/perl
my $input = <ARGV>;
print "$input\n";
>perl demo3.pl demo1.pl
console output: content of demo1.pl file
my $input = shift @ARGV;
print "$input\n";
>perl demo3.pl demo1.pl
console output: demo1.pl
10.3 Basic operation of File
10.3.1 Open/Close File
open file
open FILE , "file.txt";
open OUTPUT , "<output.txt";
open INPUT , ">input.txt";
open APEND, ">>apend.txt";
close file command
close FILE;
read file command
open FILE, "<output.txt";
while (<FILE>) {
print $_;
}
open File, "foo.txt" or die "open file error: $!";
console output:
open file error: No such file or directory at /home/luohua/work/easyperl/src/demo3.pl line 3.
open FILE, "<foo.txt" or warn "open failed: $!";
while (<FILE>) {
print $_;
}
print "function end here\n";
console output:
function end here
open failed: No such file or directory at /home/luohua/work/easyperl/src/demo3.pl line 3.
10.3.3 read / write content to the file
open LOG, "output.txt" or warn "No such file: $!";
while (<LOG>) {
print $_ if (/love/);
}
output.txt:
1 sillycat
2 carl
3 hua.luo
4 love some one
5 love game
6 love basketball
console output:
4 love some one
5 love game
6 love basketball
open LOG, ">>file.txt" or warn $!;
print LOG "write to log\n" or die $!;
11. File System
11.1 More Test on file operations
my $logfile = "/var/log/messages";
if (-e $logfile) { # check if the file exist
open LOG, $logfile or die "$!"; # open file
my $line_num = 1;
while (<LOG>) {
print "$line_num\t$_\n";
$line_num++;
}
} else {
print "The file not exists!\n";
}
11.2 system command function
chdir "tmp" or die $!; # "/tmp"
open LOG, ">log.txt" or die $!;
print LOG "write to log\n" or die $!;
$mode = 0644;
chmod $mode, 'tmp/log.txt';
$mode = '0644';
chmod oct($mode), 'log.txt';
@filelist = glob "*.pl"; #ls
print join ";" , @filelist
console output:
demo1.pl;demo2.pl;demo3.pl
equal to
@filelist = <*.pl>;
print join ";" , @filelist
for $file (<*.txt>) {
open FH, $file;
print $file . "\n";
print $_ while (<FH>);
}
console output:
apend.txt
file.txt
write to log
write to log
input.txt
output.txt
1 sillycat
2 carl
3 hua.luo
4 love some one
5 love game
6 love basketball
syntax: mkdir PATH, umask;
mkdir foo, 0777;
syntax: rename $oldfile, $newfile;
my $file = "messages.log";
if (-e $file) {
rename $file, "$file.old";
}
open FH, ">$file";
print FH "message";
#rmdir FILENAME;
rmdir foo;
my @files = <*.txt>;
unlink @files or die $!;
references:
http://easun.org/perl/perl-toc/
http://perl.apache.org/
分享到:
相关推荐
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
**Python库 django_simple_file_handler-0.1.4.tar.gz** `django_simple_file_handler` 是一个针对Python的后端开发库,特别设计用于简化Django框架中的文件处理操作。Django是一个广泛使用的开源Web框架,它遵循...
在本例中,我们关注的是一个名为`full_file_handler`的库,版本为0.0.2,以Python 3为目标平台,并且与任何体系结构兼容("none-any")。这个库的安装文件是一个`.whl`文件,这是一种Python的二进制分发格式,可以...
"Laravel开发-file-handler"项目显然旨在提供一个专门的工具集,帮助开发者更有效地处理这些操作。下面我们将深入探讨Laravel中与文件处理相关的关键知识点。 1. **文件上传**:Laravel提供了`Request`对象的`file...
"Secure File Handler" 是一个开源的 Java 库,专为文件加密和解密设计,适用于 Java 1.5 及以上版本。这个库的核心功能是为用户提供安全地处理敏感文件的能力,通过设置密码来保护数据的安全性。在 Java 开发中,...
在Android开发中,`Handler`是一个至关重要的组件,主要用于解决线程间的通信问题,尤其是在UI线程和其他工作线程之间。本篇文章将深入探讨`Handler`的使用方法,包括其基本概念、工作原理以及如何避免内存泄露和...
在Android开发中,`Handler`是一个至关重要的组件,它用于在主线程中处理来自其他线程的消息,确保UI更新和事件处理的同步性。本文将详细介绍`Handler`的几种常见写法,以及如何使用`Handler.Callback`进行消息处理...
在这种情况下,Handler机制可以作为一个有效的工具来实现线程间的通信。本文将深入探讨如何在Fragment和Activity之间使用Handler进行交互。 首先,了解Handler的基本概念。Handler是Android中的一个消息处理类,它...
在Android开发中,Handler是一种非常重要的机制,它用于在主线程和子线程之间进行通信,处理异步消息。理解并熟练使用Handler是每个Android开发者必备的技能之一。本篇文章将详细讲解Handler的基本概念、工作原理...
"JobHandler调度器"是一种广泛应用于分布式任务调度的框架,主要设计用于处理大规模并发和定时任务的场景。在这个系统中,JobHandler是核心组件,它负责执行具体的业务逻辑。下面我们将详细探讨JobHandler调度器的...
如果需要在不同进程间通信,可以结合`AIDL`(Android Interface Definition Language)和`Messenger`来实现,`Messenger`本质上也是基于`Handler`的跨进程消息传递机制。 总结,`Activity`中的多个`Handler`处理...
在Android开发中,Handler是一种非常重要的机制,它用于在主线程中处理来自其他线程的消息,从而实现线程间通信,尤其是对UI的更新。在这个“handler的简单示例”中,我们将深入探讨Handler的工作原理及其在异步更新...
在Android开发中,`Handler`是一个非常重要的组件,它用于处理UI线程之外的异步消息,实现线程间通信。`Handler`、`Looper`和`Message`三者共同构成了Android的消息处理机制,帮助开发者在不同的线程之间传递数据和...
在Android开发中,`Handler`是一个至关重要的组件,主要用于处理线程间的通信,尤其是主线程(UI线程)与工作线程之间的交互。本`Handler`推荐用法的示例,旨在帮助开发者理解和掌握如何有效地使用`Handler`来管理...
Foxit PDF Preview Handler 是一款专为Outlook 2007设计的插件,它使得用户可以在不离开邮件客户端的情况下预览PDF附件。这款工具极大地提升了处理PDF文档的效率,尤其是在处理大量PDF邮件附件时,避免了频繁打开...
在Android应用开发中,Handler是一种重要的线程通信机制,它与Looper、Message紧密配合,用于在不同的线程间传递消息,解决多线程同步问题。本篇将详细讲解Handler的使用,包括如何创建Handler对象、如何发送和处理...
标题中的"Python库 | timefile-logging-handler-1.0.0.tar.gz"指的是一个针对Python编程语言的特定库,名为"timefile-logging-handler",版本号为1.0.0,它被压缩成一个tar.gz文件进行分发。这个库主要关注日志处理...
【Android_Handler详解(一)】 在Android开发中,Handler是一个至关重要的组件,它与线程、消息队列和Looper紧密关联,用于实现不同线程间的通信。本篇将深入探讨Handler的基本概念、使用方法以及其在多线程环境中的...
在Android开发中,`Handler`是一个非常重要的组件,主要用于线程间通信,特别是主线程(UI线程)与后台线程之间的数据交互。本篇文章将详细介绍`Handler`的基本概念、工作原理以及如何在一个`Activity`中简单使用它...