`
sillycat
  • 浏览: 2556142 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Perl Language(V) File Handler

阅读更多
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/
分享到:
评论

相关推荐

    perl-XML-Handler-YAWriter-0.23-18.el7.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    Python库 | django_simple_file_handler-0.1.4.tar.gz

    **Python库 django_simple_file_handler-0.1.4.tar.gz** `django_simple_file_handler` 是一个针对Python的后端开发库,特别设计用于简化Django框架中的文件处理操作。Django是一个广泛使用的开源Web框架,它遵循...

    Python库 | full_file_handler-0.0.2-py3-none-any.whl

    在本例中,我们关注的是一个名为`full_file_handler`的库,版本为0.0.2,以Python 3为目标平台,并且与任何体系结构兼容("none-any")。这个库的安装文件是一个`.whl`文件,这是一种Python的二进制分发格式,可以...

    Laravel开发-file-handler

    "Laravel开发-file-handler"项目显然旨在提供一个专门的工具集,帮助开发者更有效地处理这些操作。下面我们将深入探讨Laravel中与文件处理相关的关键知识点。 1. **文件上传**:Laravel提供了`Request`对象的`file...

    Secure File Handler-开源

    "Secure File Handler" 是一个开源的 Java 库,专为文件加密和解密设计,适用于 Java 1.5 及以上版本。这个库的核心功能是为用户提供安全地处理敏感文件的能力,通过设置密码来保护数据的安全性。在 Java 开发中,...

    Handler使用

    在Android开发中,`Handler`是一个至关重要的组件,主要用于解决线程间的通信问题,尤其是在UI线程和其他工作线程之间。本篇文章将深入探讨`Handler`的使用方法,包括其基本概念、工作原理以及如何避免内存泄露和...

    android 中Handler 的几种写法

    在Android开发中,`Handler`是一个至关重要的组件,它用于在主线程中处理来自其他线程的消息,确保UI更新和事件处理的同步性。本文将详细介绍`Handler`的几种常见写法,以及如何使用`Handler.Callback`进行消息处理...

    Fragment与Activity使用Handler进行交互

    在这种情况下,Handler机制可以作为一个有效的工具来实现线程间的通信。本文将深入探讨如何在Fragment和Activity之间使用Handler进行交互。 首先,了解Handler的基本概念。Handler是Android中的一个消息处理类,它...

    handler用法

    在Android开发中,Handler是一种非常重要的机制,它用于在主线程和子线程之间进行通信,处理异步消息。理解并熟练使用Handler是每个Android开发者必备的技能之一。本篇文章将详细讲解Handler的基本概念、工作原理...

    jobHandler调度器

    "JobHandler调度器"是一种广泛应用于分布式任务调度的框架,主要设计用于处理大规模并发和定时任务的场景。在这个系统中,JobHandler是核心组件,它负责执行具体的业务逻辑。下面我们将详细探讨JobHandler调度器的...

    Activity中的多个Handler处理机制

    如果需要在不同进程间通信,可以结合`AIDL`(Android Interface Definition Language)和`Messenger`来实现,`Messenger`本质上也是基于`Handler`的跨进程消息传递机制。 总结,`Activity`中的多个`Handler`处理...

    handler的简单示例

    在Android开发中,Handler是一种非常重要的机制,它用于在主线程中处理来自其他线程的消息,从而实现线程间通信,尤其是对UI的更新。在这个“handler的简单示例”中,我们将深入探讨Handler的工作原理及其在异步更新...

    Handlerjava代码实现

    在Android开发中,`Handler`是一个非常重要的组件,它用于处理UI线程之外的异步消息,实现线程间通信。`Handler`、`Looper`和`Message`三者共同构成了Android的消息处理机制,帮助开发者在不同的线程之间传递数据和...

    Handler 推荐用法 demo

    在Android开发中,`Handler`是一个至关重要的组件,主要用于处理线程间的通信,尤其是主线程(UI线程)与工作线程之间的交互。本`Handler`推荐用法的示例,旨在帮助开发者理解和掌握如何有效地使用`Handler`来管理...

    Foxit PDF Preview Handler

    Foxit PDF Preview Handler 是一款专为Outlook 2007设计的插件,它使得用户可以在不离开邮件客户端的情况下预览PDF附件。这款工具极大地提升了处理PDF文档的效率,尤其是在处理大量PDF邮件附件时,避免了频繁打开...

    安卓handler的使用

    在Android应用开发中,Handler是一种重要的线程通信机制,它与Looper、Message紧密配合,用于在不同的线程间传递消息,解决多线程同步问题。本篇将详细讲解Handler的使用,包括如何创建Handler对象、如何发送和处理...

    Python库 | timefile-logging-handler-1.0.0.tar.gz

    标题中的"Python库 | timefile-logging-handler-1.0.0.tar.gz"指的是一个针对Python编程语言的特定库,名为"timefile-logging-handler",版本号为1.0.0,它被压缩成一个tar.gz文件进行分发。这个库主要关注日志处理...

    Android_Handler详解(一)

    【Android_Handler详解(一)】 在Android开发中,Handler是一个至关重要的组件,它与线程、消息队列和Looper紧密关联,用于实现不同线程间的通信。本篇将深入探讨Handler的基本概念、使用方法以及其在多线程环境中的...

    Handler的简单使用

    在Android开发中,`Handler`是一个非常重要的组件,主要用于线程间通信,特别是主线程(UI线程)与后台线程之间的数据交互。本篇文章将详细介绍`Handler`的基本概念、工作原理以及如何在一个`Activity`中简单使用它...

Global site tag (gtag.js) - Google Analytics