ユーザー名フォームのWindowsシステムの取得に問題があります。私はperlでgetlogin関数を使って試してみましたが、ユーザー名を印刷していましたが、私の問題はテンプレートツールキットでこのユーザー名にアクセスする方法です。私はそれがコンソール上のユーザ名を印刷し、このperlテンプレートツールキットを使用してユーザー名を取得する方法
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
use XML::Simple;
use Template;
my $username = getlogin || getpwuid($<) || "veeru";
my $xml = new XML::Simple;
my $data = $xml->XMLin("data.xml", ForceArray=>['dat','employee','experience']);
print $username;
my $template = Template->new();
my $filename = 'output1.tex';
$template->process(\*DATA, $data, $filename)
|| die "Template process failed: ", $template->error(), "\n";
system("pdflatex $filename");
__DATA__
\documentclass[a4paper,leqno,twoside]{article}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\begin{document}
Issued by {Name}
\issuedby{ [% username %] }
% Document title. Use \doctitleShort{} to insert a shorter title in the header.
\doctitle{employee information of thie"scr"company}
\doctitleShort{\@doctitle}
[% FOREACH comp IN company %]
[% comp.name %]
[% comp.location%]
employeedata:
[% FOREACH employee IN comp.domain.java.employee %]
[% employee.name %][% employee.number %]
[% FOREACH obj IN data%]
[% FOREACH beha IN obj.employee %]
[% IF beha.number == employee.number && beha.name == employee.name %]
[% beha.address %],
[% LAST %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
\end{document}
が、PDFでの印刷していないユーザ名のように試してみましたので、私は、テンプレートのプロセスでユーザ名変数にアクセスする際の間違いをしました。テンプレートでそのユーザー名変数を使用する方法、pdfで印刷する方法を教えてください。
私の第二の問題は、上記の行の文書のタイトルで
\doctitle{employee information of thie"scr"company}
がテンプレートプロセスで書かれている、私はいずれかが私を助けてthis.canを行う方法をperlのコードから、タイトルにアクセスする必要がある。この私の初めてのでテンプレートプロセスを使用します。
お返事ありがとうございます、それは完璧に動作します。 – biji