将文件数据转换为字符串perl

时间:2018-07-10 21:43:20

标签: perl

我有一个文件,其中用逗号分隔的数据是文件格式:

CREATE TABLE IF NOT EXISTS catalog(
  catalogid SERIAL,
  tablename TEXT,
  title TEXT,
  shortname TEXT,
  dirname TEXT,
  inherit_from INT
);

现在我想做的就是将这些数据转换为字符串,然后写入文件,并且新文件格式如下:

CREATE OR REPLACE FUNCTION generate_category_tree()
RETURNS jsonb AS $$
BEGIN
RETURN process_category_node(0);
END;
$$ LANGUAGE plpgsql;

我们如何在Perl中做到这一点

1 个答案:

答案 0 :(得分:1)

我不知道“将数据转换为字符串”是什么意思,但是要删除换行符,您需要做的只是chomp输入。

perl -pe 'chomp' input_file >output_file

如果您喜欢逗号后的空格,则可以使用简单的正则表达式替换。

perl -pe 's/\n/ /' input_file >output_file

要将上述任一方法作为较大脚本的一部分,只需将其明确地包装在循环中即可。

open(my $input, '<', 'input_filename');
open(my $output, '>', 'output_filename');
while (<$input>) {
  s/\n/ /; # Or whatever work you want to do to each line of the file
  print $output $_;
}
close $output;
close $input;